/**
 * 私有方法和私有属性
 * 1. 方法是在属性名之前使用#表示。
 * 2. 只能在类中通过this调用
 * 3. 对于私有属性访问赋值，可以使用 取值函数（getter）和存值函数（setter）
 * 4. 对于私有的方法方法，我们可以使用在非私有方法中调用的方式使用
 */
class Foo {
  #a
  #b
  constructor(a,b){
    this.#a = a  // 私有属性只能在类中通过this调用
    this.#b = b  // 私有属性只能在类中通过this调用
  }
  #sum(){
    return this.#a + this.#b  
  }
  printSum(){
    console.log(this.#sum());  // 只能在类中通过this调用私有方法
  }
}
let Foo1 = new Foo(1,2)
// Foo1.#a ❌
// Foo1.#b ❌
Foo1.printSum() // 3